<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Programming language generations</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Programming_language_generations"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Programming_language_generations rootpage-Programming_language_generations skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Programming language generations</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<style data-mw-deduplicate="TemplateStyles:r1236090951">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><div role="note" class="hatnote navigation-not-searchable">For programming languages grouped by ancestor language, see <a href="Generational_list_of_programming_languages" title="Generational list of programming languages">Generational list of programming languages</a>.</div>
<style data-mw-deduplicate="TemplateStyles:r1251242444">
/* start https://en.wikipedia.org/ */
.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}
/* end https://en.wikipedia.org/ */
</style>
<p><a href="Programming_language" title="Programming language">Programming languages</a> have been classified into several <b>programming language generations</b>.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> Historically, this classification was used to indicate increasing power of programming styles. Later writers have somewhat redefined the meanings as distinctions previously seen as important became less significant to current practice.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Generations">Generations</h2></div>
<div class="mw-heading mw-heading3"><h3 id="First_generation_(1GL)">First generation (1GL)</h3></div>
<div role="note" class="hatnote navigation-not-searchable">Main article: <a href="First-generation_programming_language" title="First-generation programming language">First-generation programming language</a></div>
<p>A first-generation programming language (1GL) is a machine-level programming language. These are the languages that can be directly executed by a central processing unit (CPU). The instructions in 1GL are expressed in binary, represented as 1s and 0s (or occasionally via octal or hexadecimal to the programmer). This makes the language suitable for execution by the machine but far more difficult for human programmer to learn and interpret. First-generation programming languages are rarely used by programmers in the twenty-first century, but they were universally used to program early computers, before assembly languages were invented and when computer time was too scarce to be spent running an assembler.
</p>
<div class="mw-heading mw-heading3"><h3 id="Second_generation_(2GL)">Second generation (2GL)</h3></div>
<div role="note" class="hatnote navigation-not-searchable">Main article: <a href="Second-generation_programming_language" title="Second-generation programming language">Second-generation programming language</a></div>
<p><b>Examples:</b> <a href="Assembly_language" title="Assembly language">assembly languages</a>
</p><p>Second-generation programming language (2GL) is a generational way to categorize <a href="Assembly_language" title="Assembly language">assembly languages</a>.<sup id="cite_ref-Computer_Hope_2-0" class="reference"><a href="#cite_note-Computer_Hope-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Brookshear_3-0" class="reference"><a href="#cite_note-Brookshear-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-:0_4-0" class="reference"><a href="#cite_note-:0-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Third_generation_(3GL)">Third generation (3GL)</h3></div>
<div role="note" class="hatnote navigation-not-searchable">Main article: <a href="Third-generation_programming_language" title="Third-generation programming language">Third-generation programming language</a></div>
<p><b>Examples:</b> <a href="C_(programming_language)" title="C (programming language)">C</a>, <a href="C%2B%2B" title="C++">C++</a>, <a href="Java_(programming_language)" title="Java (programming language)">Java</a>, <a href="Python_(programming_language)" title="Python (programming language)">Python</a>, <a href="PHP" title="PHP">PHP</a>, <a href="Perl" title="Perl">Perl</a>, <a href="C_Sharp_(programming_language)" title="C Sharp (programming language)">C#</a>, <a href="BASIC" title="BASIC">BASIC</a>, <a href="Pascal_(programming_language)" title="Pascal (programming language)">Pascal</a>, <a href="Fortran" title="Fortran">Fortran</a>, <a href="ALGOL" title="ALGOL">ALGOL</a>, <a href="COBOL" title="COBOL">COBOL</a>
</p><p>3GLs are much more machine-independent (portable) and more programmer-friendly. This includes features like improved support for aggregate data types and expressing concepts in a way that favors the programmer, not the computer. A third-generation language improves over a second-generation language by having the computer take care of non-essential details. 3GLs are more abstract than previous generations of languages, and thus can be considered higher-level languages than their first- and second-generation counterparts. First introduced in the late 1950s, <a href="Fortran" title="Fortran">Fortran</a>, <a href="ALGOL" title="ALGOL">ALGOL</a>, and <a href="COBOL" title="COBOL">COBOL</a> are examples of early 3GLs.
</p><p>Most popular general-purpose languages today, such as <a href="C_(programming_language)" title="C (programming language)">C</a>, <a href="C%2B%2B" title="C++">C++</a>, <a href="C_Sharp_(programming_language)" title="C Sharp (programming language)">C#</a>, <a href="Java_(programming_language)" title="Java (programming language)">Java</a>, and <a href="BASIC" title="BASIC">BASIC</a>, are also third-generation languages, although each of these languages can be further subdivided into other categories based on other contemporary traits. Most 3GLs support <a href="Structured_programming" title="Structured programming">structured programming</a>. Many support <a href="Object-oriented_programming" title="Object-oriented programming">object-oriented programming</a>. Traits like these are more often used to describe a language rather than just being a 3GL.
</p>
<div class="mw-heading mw-heading3"><h3 id="Fourth_generation_(4GL)">Fourth generation (4GL)</h3></div>
<div role="note" class="hatnote navigation-not-searchable">Main article: <a href="Fourth-generation_programming_language" title="Fourth-generation programming language">Fourth-generation programming language</a></div>
<p><b>Examples:</b> <a href="ABAP" title="ABAP">ABAP</a>, <a href="Unix_shell" title="Unix shell">Unix shell</a>, <a href="SQL" title="SQL">SQL</a>, <a href="PL/SQL" title="PL/SQL">PL/SQL</a>, <a href="Oracle_Reports" title="Oracle Reports">Oracle Reports</a>, <a href="R_(programming_language)" title="R (programming language)">R</a>, <a href="Halide_(programming_language)" title="Halide (programming language)">Halide</a>
</p><p>Fourth-generation languages tend to be specialized toward very specific <a href="Programming_domain" title="Programming domain">programming domains</a>.<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> 4GLs may include support for <a href="Database" title="Database">database</a> management, <a href="Report_generator" title="Report generator">report generation</a>, <a href="Mathematical_optimization" title="Mathematical optimization">mathematical optimization</a>, <a href="Graphical_user_interface_builder" title="Graphical user interface builder">GUI development</a>, or <a href="Web_development" title="Web development">web development</a>.
</p>
<div class="mw-heading mw-heading3"><h3 id="Fifth_generation_(5GL)">Fifth generation (5GL)</h3></div>
<div role="note" class="hatnote navigation-not-searchable">Main article: <a href="Fifth-generation_programming_language" title="Fifth-generation programming language">Fifth-generation programming language</a></div>
<p><b>Examples:</b> <a href="Prolog" title="Prolog">Prolog</a>, <a href="OPS5" title="OPS5">OPS5</a>, <a href="Mercury_(programming_language)" title="Mercury (programming language)">Mercury</a>, CVXGen,<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup> <a href="Geometry_Expert" title="Geometry Expert">Geometry Expert</a>
</p><p>A fifth-generation programming language (5GL) is any <a href="Programming_language" title="Programming language">programming language</a> based on problem-solving using constraints given to the program, rather than using an <a href="Algorithm" title="Algorithm">algorithm</a> written by a programmer.<sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> They may use <a href="Artificial_intelligence" title="Artificial intelligence">artificial intelligence</a> techniques to solve problems in this way. Most <a href="Constraint_programming" title="Constraint programming">constraint-based</a> and <a href="Logic_programming" title="Logic programming">logic programming</a> languages and some other <a href="Declarative_language" class="mw-redirect" title="Declarative language">declarative languages</a> are fifth-generation languages.
</p><p>While <a href="Fourth-generation_programming_language" title="Fourth-generation programming language">fourth-generation programming languages</a> are designed to build specific programs, fifth-generation languages are designed to make the computer solve a given problem without the programmer. This way, the user only needs to worry about what problems need to be solved and what conditions need to be met, without worrying about how to implement a routine or algorithm to solve them. Fifth-generation languages are used mainly in <a href="Artificial_Intelligence" class="mw-redirect" title="Artificial Intelligence">Artificial Intelligence</a> or AI research. <a href="OPS5" title="OPS5">OPS5</a> and <a href="Mercury_(programming_language)" title="Mercury (programming language)">Mercury</a> are examples of fifth-generation languages,<sup id="cite_ref-Bala_10-0" class="reference"><a href="#cite_note-Bala-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> as is <a href="ICAD_(software)" title="ICAD (software)">ICAD</a>, which was built upon <a href="Lisp_(programming_language)" title="Lisp (programming language)">Lisp</a>. <a href="KL-ONE" title="KL-ONE">KL-ONE</a> is an example of a related idea, a <a href="Frame_language" class="mw-redirect" title="Frame language">frame language</a>.
</p>
<div class="mw-heading mw-heading2"><h2 id="History">History</h2></div>
<p>The terms "first-generation" and "second-generation" programming language were not used prior to the coining of the term "third-generation"; none of these three terms are mentioned in early compendiums of programming languages. The introduction of a third generation of computer technology coincided with the creation of a new generation of programming languages. The marketing for this generational shift in machines correlated with several important changes in what were called <a href="High-level_programming_language" title="High-level programming language">high-level programming languages</a>, discussed below, giving technical content to the second/third-generation distinction among high-level programming languages as well while retroactively renaming <a href="Machine_code" title="Machine code">Machine code</a> languages as <a href="First-generation_programming_language" title="First-generation programming language">first generation</a>, and <a href="Assembly_language" title="Assembly language">assembly languages</a> as <a href="Second-generation_programming_language" title="Second-generation programming language">second generation</a>.
</p><p>Initially, all programming languages at a higher level than assembly were termed "<a href="Third-generation_programming_language" title="Third-generation programming language">third-generation</a>", but later on, the term "<a href="Fourth-generation_programming_language" title="Fourth-generation programming language">fourth-generation</a>" was introduced to try to differentiate the (then) new <a href="Declarative_programming" title="Declarative programming">declarative languages</a> (such as <a href="Prolog" title="Prolog">Prolog</a> and domain-specific languages) which claimed to operate at an even higher level, and in a domain even closer to the user (e.g. at a natural-language level) than the original, imperative high-level languages such as <a href="Pascal_(programming_language)" title="Pascal (programming language)">Pascal</a>, <a href="C_(programming_language)" title="C (programming language)">C</a>, <a href="ALGOL" title="ALGOL">ALGOL</a>, <a href="Fortran" title="Fortran">Fortran</a>, <a href="BASIC" title="BASIC">BASIC</a>, etc.
</p><p>"Generational" classification of high-level languages (third generation and later) was never fully precise and was later perhaps abandoned, with more precise classifications gaining common usage, such as <a href="Object-oriented_programming" title="Object-oriented programming">object-oriented</a>, declarative and functional. <a href="C_(programming_language)" title="C (programming language)">C</a> gave rise to <a href="C%2B%2B" title="C++">C++</a> and later to <a href="Java_(programming_language)" title="Java (programming language)">Java</a> and <a href="C_Sharp_(programming_language)" title="C Sharp (programming language)">C#</a>; <a href="Lisp_(programming_language)" title="Lisp (programming language)">Lisp</a> to <a href="Common_Lisp_Object_System" title="Common Lisp Object System">CLOS</a>; <a href="Ada_(programming_language)" title="Ada (programming language)">Ada to Ada 2012</a>; and even <a href="COBOL" title="COBOL">COBOL to COBOL 2002</a>. New languages have emerged in that "generation" as well.
</p>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="Timeline_of_programming_languages" title="Timeline of programming languages">Timeline of programming languages</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */
.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}
/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */
.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}
/* end https://en.wikipedia.org/ */
</style><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.geeksforgeeks.org/generation-programming-languages/">"Generation of Programming Languages"</a>. <i>GeeksforGeeks</i>. 2017-10-22<span class="reference-accessdate">. Retrieved <span class="nowrap">2025-01-15</span></span>.</cite></span>
</li>
<li id="cite_note-Computer_Hope-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-Computer_Hope_2-0">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.computerhope.com/jargon/num/1gl.htm">"Computer Hope, Generation languages"</a>.</span>
</li>
<li id="cite_note-Brookshear-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-Brookshear_3-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFBrookshear2012" class="citation book cs1">Brookshear, J. Glenn (2012). <i>Computer science : an overview</i> (11th ed.). Addison-Wesley. pp. <span class="nowrap">240–</span>241. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-0-13-256903-3</bdi>.</cite></span>
</li>
<li id="cite_note-:0-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-:0_4-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFVass" class="citation web cs1">Vass, Péter. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200129065933/http://www.uni-miskolc.hu/~geofiz/Oktatok/vass/Generations_and_paradigms.pdf">"Programming Language generations and Programming Paradigms"</a> <span class="cs1-format">(PDF)</span>. Archived from <a rel="nofollow" class="external text" href="http://www.uni-miskolc.hu/~geofiz/Oktatok/vass/Generations_and_paradigms.pdf">the original</a> <span class="cs1-format">(PDF)</span> on 2020-01-29.</cite></span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text">35th Hawaii International Conference on System Sciences - 1002 <a rel="nofollow" class="external text" href="http://csdl.computer.org/comp/proceedings/hicss/2002/1435/09/14350279.pdf&ei=pgcWQ6CwKsKYYMfF9OAI">Domain-Specific Languages for Software Engineering</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20110516121525/http://csdl.computer.org/comp/proceedings/hicss/2002/1435/09/14350279.pdf%26ei%3DpgcWQ6CwKsKYYMfF9OAI">Archived</a> May 16, 2011, at the <a href="Wayback_Machine" title="Wayback Machine">Wayback Machine</a>.</span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text">
<cite id="CITEREFArie_van_DeursenPaul_KlintJoost_Visser1998" class="citation web cs1">Arie van Deursen; Paul Klint; Joost Visser (1998). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20090202154259/http://homepages.cwi.nl/~arie/papers/dslbib/">"Domain-Specific Languages: An Annotated Bibliography"</a>. Archived from <a rel="nofollow" class="external text" href="http://homepages.cwi.nl/~arie/papers/dslbib/">the original</a> on 2009-02-02<span class="reference-accessdate">. Retrieved <span class="nowrap">2009-03-15</span></span>.</cite></span>
</li>
<li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://www.nae.edu/164334/Autonomous-Precision-Landing-of-Space-Rockets">NAE, The Bridge</a>, Autonomous Precision Landing of Space Rockets, December 19, 2016, Author: Lars Blackmore.</span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://cvxgen.com/docs/index.html">CVXGEN: Code Generation for Convex Optimization</a>, cvxgen.com, December 4, 2013.</span>
</li>
<li id="cite_note-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-9">^</a></b></span> <span class="reference-text"><cite id="CITEREFDong2007" class="citation book cs1">Dong, Jielin, ed. (2007). <i>Network dictionary</i>. Saratoga, Calif.: Javvin Technologies, Inc. p. 195. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>9781602670006</bdi>.</cite></span>
</li>
<li id="cite_note-Bala-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-Bala_10-0">^</a></b></span> <span class="reference-text">E. Balagurusamy, <i>Fundamentals of Computers</i>, Mcgraw Hill Education (India), 2009, <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-0070141605</bdi>, p. 340.</span>
</li>
</ol></div></div>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}
/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}
/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="Types_of_programming_languages107" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><div id="Types_of_programming_languages107" style="font-size:114%;margin:0 4em"><a href="Programming_paradigm" title="Programming paradigm">Types of programming languages</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Level</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Machine_code" title="Machine code">Machine</a></li>
<li><a href="Assembly_language" title="Assembly language">Assembly</a></li>
<li><a href="Compiled_language" title="Compiled language">Compiled</a></li>
<li><a href="Interpreted_language" class="mw-redirect" title="Interpreted language">Interpreted</a></li></ul>
<ul><li><a href="Low-level_programming_language" title="Low-level programming language">Low-level</a></li>
<li><a href="High-level_programming_language" title="High-level programming language">High-level</a></li>
<li><a href="Very_high-level_programming_language" title="Very high-level programming language">Very high-level</a></li>
<li><a href="Esoteric_programming_language" title="Esoteric programming language">Esoteric</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="First-generation_programming_language" title="First-generation programming language">First</a></li>
<li><a href="Second-generation_programming_language" title="Second-generation programming language">Second</a></li>
<li><a href="Third-generation_programming_language" title="Third-generation programming language">Third</a></li>
<li><a href="Fourth-generation_programming_language" title="Fourth-generation programming language">Fourth</a></li>
<li><a href="Fifth-generation_programming_language" title="Fifth-generation programming language">Fifth</a></li></ul>
</div></td></tr></tbody></table></div>
<div class="navbox-styles"></div><div role="navigation" class="navbox" aria-labelledby="Types_of_computer_language61" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Types_of_computer_language61" style="font-size:114%;margin:0 4em">Types of <a href="Computer_language" title="Computer language">computer language</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Types</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Architecture_description_language" title="Architecture description language">Architecture description</a></li>
<li><a href="Data_exchange#Data_exchange_languages" title="Data exchange">Data exchange</a></li>
<li><a href="Hardware_description_language" title="Hardware description language">Hardware description</a></li>
<li><a href="Knowledge_representation_language" class="mw-redirect" title="Knowledge representation language">Knowledge representation</a></li>
<li><a href="Markup_language" title="Markup language">Markup</a></li>
<li><a href="Modeling_language" title="Modeling language">Modeling</a></li>
<li><a href="Programming_language" title="Programming language">Programming language</a></li>
<li><a href="Query_language" title="Query language">Query</a></li>
<li><a href="Shading_language" title="Shading language">Shading</a></li>
<li><a href="Specification_language" title="Specification language">Specification</a></li>
<li><a href="Style_sheet_language" title="Style sheet language">Stylesheet</a></li>
<li><a href="Transformation_language" title="Transformation language">Transformation</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">See also</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li>Category:Lists of computer languages</li>
<li>Category:Lists of programming languages</li>
<li><a href="List_of_programming_languages_by_type" title="List of programming languages by type">List of programming languages by type</a></li></ul>
</div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-07-29" href="https://en.wikipedia.org/wiki/?title=Programming_language_generations&oldid=1303149342">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
</body></html>